package com.yf.dxapp.module.app.service.appnotice;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import com.yf.dxapp.module.app.controller.admin.appnotice.vo.AppNoticePageReqVO;
import com.yf.dxapp.module.app.controller.admin.appnotice.vo.AppNoticeSaveReqVO;
import com.yf.dxapp.module.app.dal.dataobject.appnotice.AppNoticeDO;
import jakarta.validation.Valid;

/**
 * 通知公告 Service 接口
 *
 * @author 芋道源码
 */
public interface AppNoticeService {

    /**
     * 创建通知公告
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createAppNotice(@Valid AppNoticeSaveReqVO createReqVO);

    /**
     * 更新通知公告
     *
     * @param updateReqVO 更新信息
     */
    void updateAppNotice(@Valid AppNoticeSaveReqVO updateReqVO);

    /**
     * 删除通知公告
     *
     * @param id 编号
     */
    void deleteAppNotice(Long id);

    /**
     * 获得通知公告
     *
     * @param id 编号
     * @return 通知公告
     */
    AppNoticeDO getAppNotice(Long id);

    /**
     * 获得通知公告分页
     *
     * @param pageReqVO 分页查询
     * @return 通知公告分页
     */
    PageResult<AppNoticeDO> getAppNoticePage(AppNoticePageReqVO pageReqVO);

}